#pragma once
#include "Data.h"
#include "myString.h"
#include "BD.h"

class Pair
{
	MyString m_name;
	Data m_data;

	Pair() :m_name("empty") {}
	Pair(const char* name, const Data& data) :m_name(name), m_data(data) {}
	Pair(const char* name) :m_name(name),m_data() {}
	Pair(const Data& data) :m_name(), m_data(data) {}

	/*Pair(const Pair&);
	Pair(const Pair&&);*/ //- default??

	/*Pair& operator=(const Pair&);
	Pair& operator=(const Data& data);
	Pair& operator=(Data&& data);*/

	bool operator==(const char* Str)const { return m_name == Str; }
	friend class BD;	

	friend std::ostream& operator<<(std::ostream& os, const Pair& pair)
	{
		os << "Name: " << pair.m_name << std::endl << "| " << pair.m_data;
		return os;
	}
	
};